The present subject matter relates to a trading system that is configured to enable a user to manage sets of executable functions within the trading system.
Within trading systems, the term “hotkeys” typically refers to keys on the keyboard that will invoke operations (buy, sell, the route of execution, etc.) in the trading system. Hotkeys allow users to quickly execute commands, adjust order entry details and generally provide shortcuts for triggering executable functions in the trading system. Perhaps the most important benefit provided by the use of hotkeys is improved speed and accuracy in the order entry process.
Certain existing trading systems allow users to create and edit functions to be associated with hotkeys. For example, a user may create a function that directs the system to buy five contracts of a given futures contract at the market price. In some scenarios, users may wish to create large numbers of related functions to be associated with corresponding hotkeys to control numerous aspects of order entry and related processes.
Using previously existing trading systems, particularly in complex trading systems, it took a considerable amount of time to create and edit the desired functions, assign hotkeys, re-assign hotkeys, etc. For example, a user may wish to create or edit hundreds or thousands of functions depending on the complexity of the keyboard layout, the usage of certain keys, etc. This was a burdensome process when creating and editing the desired functions for a given tradable instrument, but given that some traders may further wish to change—which tradable instrument they are referencing within the functions (whether to trade a different tradable instrument entirely or to update from an expired tradable instrument (whether futures contract, options contract, etc) to a new one) the process may be orders of magnitude more burdensome. For example, if there exist functions which reference a given currency futures contract, and currency futures are entering a rollover period where market participants start to liquidate their positions on the existing front month futures contract, and proceed to roll-over their positions into the next actively traded futures contract, then the user would be required to edit all of the functions (e.g., replace all of the references to the existing futures contract with the new contract), and may further need to re-assign the associated hotkeys from the expiring futures contract to the new one (if the hotkey assignments were lost), or may instead have to delete all of the existing functions and hotkey associations and create new ones to maintain the relevance of the hotkey functionality of in the trading system. Further note that many functions may need to be created not for a particular tradable instrument but across part of or all of the user's portfolio or account, or to control other behavior in the trading system. This further confounds the problem. In more extreme situations, a user may even have to make these types of changes even more often, even daily.
Accordingly, a need exists for a trading system that enables a user to manage sets of executable functions within the trading system.